Near Field Communication or NFC is a short range high frequency wireless communication technology which enables such exchange of data between two contactless devices over a short distance, for example 10 centimeters.
NFC is an open platform technology standardized in ISO/IEC 18092 and ISO/IEC 21481 but incorporates a variety of pre-existing standards including ISO/IEC 14443 protocol type A and type B.
Particular embodiments of the invention encompass type-B technology (also known as NFC-B) devices. A NFC-B device can operate in two modes, i.e., Poll mode or Listen mode.
The NFC-B Poll mode device supplies the RF field and transmits a NFC-B poll request (for example a SENSB_REQ command) in order to detect the presence of NFC-B listen mode devices in the RF field.
A NFC-B listen mode device present in the RF field, upon receiving the SENSB_REQ command, transmits its response, for example a SENSB_RES response.
NFC-B listen mode devices may be available in the form of NFC tags/cards that can store different type of data which can be read by an NFC-B Poll mode device or an NFC-B reader, for example an NFC-enabled mobile phone, NFC card/tag reader etc.
Besides, an NFC-enabled mobile phone can also emulate an NFC-B listen mode device or even plurality of NFC-B listen mode devices. NFC tags may be also embedded in cards by different vendors, suppliers and merchants e.g., banks, credit card companies etc. Consumers may carry multiple NFC tags/cards in their wallets.
NFC-B or type-B technology is standardized in ISO14443 and NFC Forum Digital and Activity Specifications, for example the following documents:
NFC Digital Protocol, Technical Specification NFC Forum™, DIGITAL 1.0, NFCForum-TS-DigitalProtocol-1.0, 2010 Nov. 17; and
NFC Activity Specification, Technical Specification, NFC Forum™, ACTIVITY 1.0, NFCForum-TS-Activity-1.0, 2010 Nov. 18.
As per the existing technology, an NFC-B Poll mode device turns on the RF field and then transmits the SENSB_REQ command after 5 ms guard-time. One of the parameters in the SENSB_REQ command indicates the number of time slots ‘NoS’ for receiving the SENSB_RES responses from the NFC-B listen mode devices. Each time slot has a fixed duration during which an NFC-B listen mode device can transmit its SENSB_RES response. The time of the 1st time slot starts after the transmission of the SENSB_REQ command. However, for each subsequent time slot (i.e., ‘2’ to ‘NoS’), the NFC-B Poll mode device transmits a SLOT_MARKER command in order to indicate the start time of the respective time slot (i.e., ‘2’ to ‘NoS’). It means that the NFC-B Poll mode device transmits a total of NoS−1 SLOT_MARKER commands.
An NFC-B listen mode device randomly selects a time slot in which it transmits its SENSB_RES response. It may happen that plurality of NFC-B listen mode devices transmit their SENSB_RES responses in the same time slot. In such case, it is detected as an invalid SENSB_RES response or collision by the NFC-B Poll mode device. It is the responsibility of the NFC-B Poll mode device to uniquely and individually discover (identify) each of the NFC-B listen mode devices successfully which are present in the RF field.
The NFC Forum Digital and Activity Specifications mentioned above disclose a procedure to discover (identify) a plurality of NFC-B listen mode devices.
Such a discovery or identifying method comprises more than one discovery cycles, also called collision resolution cycles.
An NFC-B Poll mode device must discover all the NFC-B listen mode devices independently so that it can recognize, based on the individual SENSB_RES responses, each NFC-B listen mode device's functionality (e.g., Type of protocol and application supported, value of Unique ID or NFCID0 etc.). The NFC-B Poll mode device can then select the preferred or desired NFC-B listen mode device and initiate data transfer phase.
An NFC-B listen mode device transmits only one SENSB_RES response during a discovery cycle.
This prior art method disclosed in the NFC Forum Activity Specification has multiple drawbacks, as indicated below.
The Activity Specification requires the last discovered NFC-B listen mode device of the last discovery cycle to be in the ACTIVE state, but the discovery process disclosed in the NFC Forum Activity Specification may also put the last discovered NFC-B listen mode device to SLEEP state. This behavior violates the NFC Forum Activity Specification.
Because of the above drawback in the existing solution, it considerably increases the device activation time of the last discovered NFC-B listen mode device which must be woken up from SLEEP first and thus it delays the data transfer phase significantly.
Further, in some other situations, the prior art solution unnecessarily continues to increase the number of time slots in the SENSB_REQ command.
And unnecessarily increasing the number of time slots slows down the discovery process to a large extent unnecessarily, increases the power consumption of the NFC-B reader and delays the data transfer phase significantly.
As a result, it may lead to undiscovered NFC-B listen mode devices because the discovery process will exit once a discovery cycle executes with maximum number of time slots of ‘16’ (i.e., when N=5, and NoS=2(N-1)=2(5-1)=24=16).
The prior art solution may result in unpredictable behavior which will cause interoperability and compliance issues, and doesn't provide a deterministic discovery procedure to discover plurality of NFC-B listen mode devices.
According to an embodiment, it is proposed a deterministic discovery method for discovering (identifying) a plurality of NFC-B listen mode devices present in the RF field of an NFC-enabled reader, which is also compliant to NFC Forum Activity Specification.
According to an embodiment, it is proposed such a method which consumes much less power as compared to the existing solution as it expedites the method of discovering a plurality of NFC-B listen mode devices.